
uniform vec4 color;

in vec2 radii;
out vec4 fragColor;

void main() {
	float dist = length(gl_PointCoord - vec2(0.5));

// transparent outside of point
// --- 0 ---
//	smooth transition
// --- 1 ---
// pure point color
// ...
// dist = 0 at center of point

	fragColor.rgb = color.rgb;
	fragColor.a = mix(color.a, 0.0, smoothstep(radii[1], radii[0], dist));

	if (fragColor.a == 0.0) {
		discard;
	}
}
